package com.star.mall.persistence.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.star.mall.base.query.Query;
import com.star.mall.base.response.BaseResponse;
import com.star.mall.model.PasswordParam;
import com.star.mall.persistence.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 *  用户服务类
 * </p>
 *
 * @author 邱喜达
 * @since 2020-12-25
 */
public interface IUserService extends IService<User> {

    /**
     * 查询角色用户(分页)
     * @param query 查询参数
     * @return IPage 角色用户
     */
    IPage<User> queryRoleUsers(Query<User> query);

    /**
     * 查询组织用户(分页)
     * @param query 查询参数
     * @return IPage 组织用户
     */
    IPage<User> queryOrgUsers(Query<User> query);

    /**
     * 更加用户账号获取用户信息
     * @param username 账号
     * @return User 用户详情
     */
    User getByUsername(String username);

    /**
     * 修改密码
     * @param passwordParam 旧密码与新密码
     * @return BaseResponse 修改返回
     */
    BaseResponse<String> modifyPassword(PasswordParam passwordParam);

}
